package jm.nj.demo10mian.demo01;

import java.io.File;

/*
 * File来的三个重载的构造方法
 *
 * 路径:
 *       绝对路径:从盘符开始的路径 c:\\a.txt  D:\\Work_20170327\\day10\\b.txt
 *       相对路径:相对当前项目而言,指的就是当前项目的根目录
 *                       如果传入的路径是相对路径D:\\Work_20170327\\day10\\b.txt-->路径中从盘符到项目的根目录就可以省略不写,直接写文件名 b.txt
 *       \\:文件分割符
 * 系统中:\
 * 在Java程序:/,\\
 * */
public class Demo02File {
    public static void main(String[] args) {
        //method_01();
        //method_02("d:","a.txt");
        method_03();
    }
/*
* File(File parent, String child)
* 传递路径,传递File类父型路径,字符串类型子路径
* 好处:父类是File类型,父路径可以直接调用File类方法
* */
    private static void method_03() {
        File parent = new File("d:");
        File file = new File(parent,"a.txt");
        System.out.println(file);
    }

    /*
     * File(String parent, String child)
     * 传递路径,传递字符串类型父路径,字符串类型的子路径
     * 好处:单独操作父类路径和子路径,使用起来比较灵活,可以把路径单独作为参数传递过来
     * */
    private static void method_02(String parent, String child) {
        File file = new File(parent,child);
        System.out.println(file);
    }


    /*
     * File(String pathname)
     * 传递路径名:可以写文件夹,也可以写到一个文件
     * c:\\abc c:\\abc\\Demo.java
     * 路径存不存在都可以创建,路径不区分大小写
     *
     */
    private static void method_01() {
        File file = new File("d:\\a.txt");
        System.out.println(file);

        file = new File("D:\\a\\b.txt");
        System.out.println(file);

        file= new File("a.txt");
        System.out.println(file);

    }
}
